{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "28db85f9",
   "metadata": {},
   "source": [
    "以下是 `torchvision.transforms` 中常用的图像处理函数的 Markdown 表格，包括 `ToTensor` 和归一化等操作：\n",
    "\n",
    "| 函数名                  | 功能描述                                                                 | 参数说明                                                                 | 返回值类型           |\n",
    "|-------------------------|------------------------------------------------------------------------|------------------------------------------------------------------------|----------------------|\n",
    "| `ToTensor()`            | 将 PIL 图像或 NumPy 数组转换为 PyTorch 张量，并自动将像素值缩放到 [0, 1] 范围。 | 无                                                                     | `torch.Tensor`       |\n",
    "| `Normalize(mean, std)`  | 对张量进行归一化，使用给定的均值和标准差。                                | `mean`：均值列表（每个通道一个值）；`std`：标准差列表（每个通道一个值）。 | `torch.Tensor`       |\n",
    "| `Resize(size)`          | 调整图像大小到指定尺寸。                                                 | `size`：目标尺寸（可以是整数或元组）。                                   | `PIL.Image` 或张量   |\n",
    "| `CenterCrop(size)`      | 从图像中心裁剪指定大小的区域。                                           | `size`：裁剪尺寸（可以是整数或元组）。                                   | `PIL.Image` 或张量   |\n",
    "| `RandomCrop(size)`      | 随机裁剪图像到指定大小。                                                 | `size`：裁剪尺寸（可以是整数或元组）。                                   | `PIL.Image` 或张量   |\n",
    "| `RandomHorizontalFlip(p)` | 以概率 `p` 水平翻转图像。                                               | `p`：翻转概率，默认为 0.5。                                             | `PIL.Image` 或张量   |\n",
    "| `RandomVerticalFlip(p)` | 以概率 `p` 垂直翻转图像。                                                | `p`：翻转概率，默认为 0.5。                                             | `PIL.Image` 或张量   |\n",
    "| `RandomRotation(degrees)` | 随机旋转图像，旋转角度在指定范围内。                                     | `degrees`：旋转角度范围（可以是单个值或元组）。                          | `PIL.Image` 或张量   |\n",
    "| `ColorJitter(brightness, contrast, saturation, hue)` | 随机调整图像的亮度、对比度、饱和度和色调。 | `brightness`、`contrast`、`saturation`、`hue`：调整范围。               | `PIL.Image` 或张量   |\n",
    "| `Grayscale(num_output_channels=1)` | 将图像转换为灰度图。                                                   | `num_output_channels`：输出通道数（1 或 3）。                            | `PIL.Image` 或张量   |\n",
    "| `RandomResizedCrop(size, scale, ratio)` | 随机裁剪并调整图像大小。                                               | `size`：目标尺寸；`scale`：裁剪面积比例范围；`ratio`：裁剪宽高比范围。   | `PIL.Image` 或张量   |\n",
    "\n",
    "---\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "7c1cee20",
   "metadata": {},
   "outputs": [],
   "source": [
    "from torchvision import transforms\n",
    "\n",
    "# 定义图像预处理管道\n",
    "transform = transforms.Compose([\n",
    "    transforms.Resize((256, 256)),          # 调整图像大小\n",
    "    transforms.RandomHorizontalFlip(),      # 随机水平翻转 \n",
    "    transforms.ToTensor(),                  # 转换为张量\n",
    "    transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])  # 归一化\n",
    "])"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "pytorchgpu",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.20"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
